package com.oa.ylms.apps.dao.goods;

import java.util.List;

import com.oa.ylms.apps.entity.goods.GoodCategoryValue;
import com.oa.ylms.apps.entity.goods.GoodInfoValue;

public interface IGoodsInfoDao {
	public int getTotalNumber();
	/**
	 * 管理员通过各种条件分页查询物资信息(物资类型或者状态)
	 * 
	 * @param goodInfo
	 * @param rows
	 * @param pageNo
	 * @return
	 * @throws Exception
	 */
	public List<GoodInfoValue> queryGoodInfoWithPage(
			final GoodInfoValue goodInfo, final int rows, final int pageNo)
			throws Exception;

	/**
	 * 获取页数
	 * 
	 * @param goodInfo
	 * @param rows
	 * @return
	 * @throws Exception
	 */
	public int countTpages(GoodInfoValue goodInfo, int rows) throws Exception;

	/**
	 * 添加一条物资信息
	 * 
	 * @param info
	 * @return
	 * @throws Exception
	 */
	public int addGoodsInfo(GoodInfoValue info) throws Exception;

	/**
	 * 根据带物资信息ID的对象得到整个物资信息
	 * 
	 * @param goodInfo
	 * @return
	 * @throws Exception
	 */
	public GoodInfoValue queryByGoodId(GoodInfoValue goodInfo) throws Exception;

	/**
	 * 通过传入物资类型的ID,得到所对应的物资信息列表，分权限。
	 * 
	 * @param goodCategory
	 * @param role
	 * @return
	 * @throws Exception
	 */
	public List<GoodInfoValue> queryAllByCateId(GoodCategoryValue goodCategory,
			int role) throws Exception;

	/**
	 * 编辑一条物资信息
	 * 
	 * @param goodInfo
	 * @return
	 */
	public boolean editGoodsInfo(GoodInfoValue goodInfo);

}
